import pandas
import os
"""文件操作"""


class OperationData():

    def __init__(self, filename: str):
        # os.path.dirname(__file__) 获取当前文件所在目录
        self.file_dir = os.path.dirname(__file__)
        self.base_dir = os.path.dirname(self.file_dir)
        self.data_dir = os.path.join(self.base_dir, 'data')
        self.file_name = os.path.join(self.data_dir, filename)
        if filename.endswith('.xlsx'):
            self.table = pandas.read_excel(self.file_name, keep_default_na=False)
        elif filename.endswith('.xls'):
            self.table = pandas.read_excel(self.file_name, keep_default_na=False)
        elif filename.endswith('.csv'):
            self.table = pandas.read_csv(self.file_name, keep_default_na=False)
        else:
            print('其它文件类型不支持读取')

    # 将文本中的结果生成为一个列表
    def utils_data_to_list(self):
        return self.table.values.tolist()

    # 将文本的结果生成为列表字典嵌套的格式
    def utils_data_to_dict(self):
        return [self.table.loc[i].to_dict() for i in self.table.index.values]
